For product serviceability, code is invoked periodically to monitor and validate control blocks within a dynamic system. In scenarios in which all operations are single threaded, control structures such as chains (i.e., singly linked lists) can be scanned and validated without the need of a lock. For example, in an IBM® MVS™ system, all changes can be made on a single task control block (TCB). The aforementioned scanning and validating approach is no longer possible when the control blocks are updated concurrently (e.g., in an MVS system using multiple TCBs). The ability to scan chains with integrity is essential for serviceability, but obtaining lock on a chain negatively affects both the performance and timing of task interactions, thereby making it difficult to reproduce a problem that causes a corrupted chain. Thus, there exists a need to overcome at least one of the preceding deficiencies and limitations of the related art.